88d7f5808cedf141ef1feed1c3c4756d8d32d6df,plugins/org.eclipse.xtext.generator/src/org/eclipse/xtext/generator/grammarAccess/GrammarAccessFragment.java,GrammarAccessFragment,replaceResourceURIsWithNsURIs,#Grammar#,89
Before Change
for (AbstractMetamodelDeclaration metamodelDecl : grammar.getMetamodelDeclarations()) {
EPackage generatedPackage = metamodelDecl.getEPackage();
Resource packResource = generatedPackage.eResource();
packResource.setURI(URI.createURI(generatedPackage.getNsURI()));
}
}
After Change
Resource packResource = pack.eResource();
if (!packResource.getURI().equals(pack.getNsURI())) {
ResourceSet packResourceSet = packResource.getResourceSet();
if (packResourceSet != null && packResourceSet.equals(set)) {
EPackage topMost = pack;
// we need to be aware of empty subpackages
while (topMost.getESuperPackage() != null
&& topMost.getESuperPackage().eResource() == topMost.eResource())
topMost = topMost.getESuperPackage();
if (packResource.getContents().contains(topMost) && packResource.getContents().size() == 1) {
if (!topMost.getEClassifiers().isEmpty())
packResource.setURI(URI.createURI(topMost.getNsURI()));
else
moveSubpackagesToNewResource(topMost, set);
}